1. Paquete de Conda

Debe aegurarse de correr este notebook bajo el ambiente de conda conda_daskpy36.

Asegurese te tener la siguientes versiones de los paquetes.

Asegurese de que la versión de todos los paquetes sea la misma en el nodo master, en los trabajadores y en el scheduler.

2. Configurar el Dask Client

Despligue la cantidad de trabajadores deseados (10)

Reinicie el Dask Client

3. ETL

dask es un wrapper para procesamiento paralelizado en clusters de pandas.

Dictionaries

Actuan como tablas de lookup para poblar las columnas indexadas.

2017

2018

2019

2020

Append all

Remove unused years

Persistir el dataframe en memoria

4. Análisis explorativo

Identificar cantidad de datos

Calcular promedio de pasajeros por mes

Note la periodicidad de los datos. Pese a la tendencia aparentemente negativa de la cantidad de pasajeros por viaje, existen picos en Diciembre. Podemos seguramente atribuir esto a las festividades de la epoca del año.

Identifique también el comportamiento al inicio del 2020. La pandemia puede verse como un choque drástico al sistema y por lo tanto podemos empezar a pensar que debemos tratar estos datos con precaución.

Calcular promedio de tarifa por mes

Total de viajes por mes

Histograma de variables principales

Distancia de viaje para cada cantidad de pasjeros

Distancia de viaje máxima

Datos faltantes para cada variable

Viajes mejor pagos

Tarifa según distancia, para mayores distancias

4. Estadística y pruebas de hipótesis sencillas

Descriptivas

t-test

Vamos a analizar la diferencia entre la media de la tarifa entre los años 2017 y 2019.

ANOVA

5. Modelo de regresión. PENDIENTE, NO CALIFICAR

This section will demonstrate how to perform regression modeling using Scikit learn on Distributed Dask back-end. We will continue to the Newyork taxi trips dataset but now predict the duration of the trip using linear regression.

Many Scikit-Learn algorithms are written for parallel execution using Joblib, which natively provides thread-based and process-based parallelism. Joblib is what backs the n_jobs= parameter in normal use of Scikit-Learn. Dask can scale these Joblib-backed algorithms out to a cluster of machines by providing an alternative Joblib backend.

Preprocess data

  1. Derive trip duration
  2. Fill NaN value with zeros
  3. One-hot encode categorical variables

Split data for training and testing

Run Linear Regression model training on distributed dask cluster

Run prediction on the trained model

6. Scale in the Fargate cluster worker nodes after all work is done